[JS/백준]{그리디}(1541) 잃어버린 괄호
2022년 10월 02일
백준 문제 링크
문제 설명
그리디 문제는 꼭 수수께끼 문제를 푸는것같다 구현하기는 어렵지않은데 풀이방법을 생각해
내는것이 어렵다 ㅠㅠ
이문제는 괄호를 적적히써서 식에 대한 최소값을 찾는것이다. 일반적으로 최소값을 찾기위해서는
음수에서 큰값을 뺴면 가장 최소값을 찾을수가 있다. 그래서 우선 -로 나눠서 +끼리 모은다
그후 +를 다 더해준다음 다 빼주면 된다.
코드
const line = require("fs").readFileSync("./input.txt", "utf8");
let inputData = line.trim().split("-");
inputData = inputData.map((val) => {
if (val.includes("+")) {
const arr = val.split("+").map(Number);
return arr.reduce((pre, cur) => pre + cur);
}
return +val;
});
let result = 0;
inputData.forEach((val, idx) => {
if (idx === 0) {
result = val;
} else {
result -= val;
}
});
console.log(result);